Data Validation হল ডাটার সঠিকতা, সামঞ্জস্যতা এবং গুণগত মান নিশ্চিত করার একটি প্রক্রিয়া। ArangoDB-তে ডেটা ভ্যালিডেশন মূলত Collections-এর সাথে সম্পর্কিত, যেখানে একটি Schema কনফিগার করা হয় ডেটার নির্দিষ্ট গঠন এবং নিয়ম নির্ধারণের জন্য। এটি ডেটা ইনসার্ট এবং আপডেট করার সময় সঠিক ডেটা নিশ্চিত করে।
Data Validation এর বৈশিষ্ট্য
- Schema Validation:
ArangoDB Collections-এ JSON Schema ব্যবহার করে ডেটা ভ্যালিডেশনের নিয়ম নির্ধারণ করা যায়। - Flexible Rules:
ডেটা ফিল্ডের টাইপ, ফিল্ডের উপস্থিতি বা নির্দিষ্ট মান নিশ্চিত করা যায়। - Automatic Enforcement:
ইনসার্ট এবং আপডেটের সময় ডেটা ভ্যালিডেশন স্বয়ংক্রিয়ভাবে প্রয়োগ হয়। - Error Reporting:
ডেটা ভ্যালিডেশন ব্যর্থ হলে স্পষ্ট ত্রুটি বার্তা প্রদান করে।
Schema কনফিগারেশন
Schema Example
নিচের উদাহরণে একটি Collection-এর Schema কনফিগার করা হয়েছে:
{
"rule": {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer", "minimum": 18 },
"email": { "type": "string", "format": "email" }
},
"required": ["name", "age"]
},
"level": "strict",
"message": "Data validation failed!"
}
উপাদান ব্যাখ্যা
- type: ডেটার টাইপ নির্ধারণ (যেমন: string, integer)।
- properties: ফিল্ডগুলোর ভ্যালিডেশন নিয়ম।
- required: বাধ্যতামূলক ফিল্ডের তালিকা।
- level: ভ্যালিডেশনের স্তর, যেমন
strict,moderate, বাnone। - message: ভ্যালিডেশন ব্যর্থ হলে দেখানো বার্তা।
Schema প্রয়োগ করা
Collection তৈরি করার সময় Schema যুক্ত করা
db._create("my_collection", {
schema: {
rule: {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer", "minimum": 18 }
},
"required": ["name", "age"]
},
level: "strict",
message: "Invalid data!"
}
});
Schema আপডেট করা
ইতিমধ্যে তৈরি করা Collection-এ Schema আপডেট করতে:
db._collection("my_collection").properties({
schema: {
rule: {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer", "minimum": 18 },
"email": { "type": "string", "format": "email" }
},
"required": ["name", "age"]
},
level: "moderate",
message: "Validation error!"
}
});
Validation Level
- Strict:
যদি ডেটা ভ্যালিড না হয়, তাহলে এটি গ্রহণ করা হবে না। - Moderate:
ভ্যালিডেশন ব্যর্থ হলেও ডেটা গ্রহণ করা হবে তবে সতর্কতা দেখানো হবে। - None:
ভ্যালিডেশন নিষ্ক্রিয় থাকবে।
Error Handling
ডেটা ইনসার্ট বা আপডেট করার সময় ভ্যালিডেশন ব্যর্থ হলে ArangoDB একটি ত্রুটি বার্তা প্রদান করে।
উদাহরণ:
{
"error": true,
"code": 400,
"errorMessage": "Validation error!"
}
Data Validation এর সুবিধা
- ডেটার সঠিকতা নিশ্চিত করা।
- ত্রুটিপূর্ণ ডেটা প্রতিরোধ করা।
- ডাটাবেসে গুণগত মান বজায় রাখা।
- বিজনেস লজিকের সাথে সামঞ্জস্যপূর্ণ ডেটা সংরক্ষণ।
সারাংশ
ArangoDB-তে Data Validation একটি শক্তিশালী টুল যা ডেটার গুণমান এবং সঠিকতা নিশ্চিত করতে সহায়ক। এটি JSON Schema-র মাধ্যমে নিয়ম সংজ্ঞায়িত করে এবং স্বয়ংক্রিয়ভাবে ডেটা ভ্যালিডেশন সম্পন্ন করে। ডেভেলপাররা এই বৈশিষ্ট্যটি ব্যবহার করে আরও নির্ভরযোগ্য এবং কার্যকর ডাটাবেস তৈরি করতে পারেন।
Read more